{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Exercise 3.2 (Page 80)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEFCAYAAAACFke6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8lNX1+PHPAQKBsO9rZN8TECOLoCIq7spmXavVWmirrfbXCqi4goj4rZbWWsGlRa1aIYAiIkgBQVwDQkLY912WQBICIdv5/TGTEmPIMpmZ55mZ8369eGWY3MxzMnlycp9773OuqCrGGGPCWxWnAzDGGBN4luyNMSYCWLI3xpgIYMneGGMigCV7Y4yJAJbsTdgQkV+KyNAKtO8qItWKPfd7EWlaQtsHRCRaRJaKSJyIPCwidUVkuohcco7Xv0VE2lX8OzHG/yzZm3DyKfBnERkGICITReQ6EWkqIv28z6V6PwrwMZBQ+MUiUhv4A5BRwmtXAyYAeUAMcKuqZgBDgH3niOc6oIX3tU+IyBdF/n0pIisq/y0bUz7Vym5iTGhQ1f0ici3wM+9T1YAooBPwK+Ab4LT3c1cBXwPrROQRYDhQH6gKLPH+MagNDAJygQOAAg2AwcAKb4++tqruABCRGqp6xvtHowFQA2goIk2Anao6qDBWb5uPA/JGGFMCS/YmLIjI+cD5QAHwV+/TuXgSdH4JX/JH4D7gbqClqvYVkXnA46qaUuy16wKXAH3xXAlsBNKA3wBVRCQJiAUyRaS3N44HvG3rA12AViLyBSB4rgxOUfIVhDEBYcM4JlxUB+oAf8bTmy987ie3iIvInUAz4B7g10CqiHyPpxc/XUTmF/uS08AOYD+wEjgBHAc6AC+ragKwFM/QTqaqrlDVnwErgEnAEmCPt2d/PXBKVS9S1av99t0bUwZL9iYsqOo3qjoNyARyvE/XBrJLaL4YeAhoCzyvqq8CC/H01G/n7B+LQq2Bo8BYPAn/SWCPt90F3jaxwPbCL/BO/DYG3sDTs+/kvQL4LxAnIkkislpEfuH7d21M+dkwjglnXfAk5fpFn1TVwyKSC1RV1fdEpBGeYZ3VeBJ4RxH5CshU1aFAQzwTt0/j6SDNxzNEdBGwXEQaAHVUNQ1ARC4C/glEA3cBa4DvVXVw4Vi997H9/pmgsZ69CUcXiEhD4Dxgc/FPikhj4COgvYisAq4FGuFJzDfjmci9E89qGlR1NZ4hnnSgMzAV2Kyqp4E5wDw8wziFNgE3AsuAM0AbYL+ILMBzBdFbRJYDM1Q1z6/fuTHnYD0LE26qAK8DbwNfq6qKSPWiDVT1qIgMB9bj6ck3xjNZOxjP8A7AaO9rPez9f0sgCc/yzq7AE97n5wBTgIlFXj8NSPMs6AGgP56rhtu94/sAeId1jAkK69mbsOFd4tgMT/L9NZ7JWvAM5SR6H8eISGc8vfaPgLeAB/H06O/EM/RSgCeZX1fkhqltwPt4llM+BvQQkRHAf4A/ATNE5OJiIVXBsy7/amyZpXGY9exNOEnDs8Z+CZCmqusAVHUXsMvb5l08yx8PAzd6e/lPAOPwLK98A3jWu17+PiBDRGoBC4C1wAhVPeRd0fNbPCtwtojIauAJERmmqlki8ls8a/azPCHoFhEpXH5ZqEYA3wtjfkRs8xJjPESkCoCqFgTo9Wt6x/mNCTpL9sYYEwFszN4YYyKAJXtjjIkArpmgbdy4sbZt29bpMIwxJqSsXr36qKo2Kauda5J927ZtSUqyZcfGGFMRIrK7PO1sGMcYYyKAJXtjjIkAluyNMSYCuGbMviS5ubns27eP7OySqtSGjujoaFq3bk1UVPHKucYYExyuTvb79u2jTp06tG3bliJFpUKKqnLs2DH27dtHu3a297QxxhmuHsbJzs6mUaNGIZvoAUSERo0ahfzViTEmtPmU7EWknogsFJHFIjK3eAnZIu3eEJGvRGSCrwGGcqIvFA7fgzEmtPnas78DeNG7i88hPCVcf8Rb/rWqqg7As0lEJ9/DNMaY8LQ49RBfbj8a8OP4lOxV9RVV/cz73yZ4ysUWNxj4wPt4MZ6dfn5EREZ79+JMOnLkiC+hGGPcLOsYrJrm+Wh+5EjmGe5/dw2j317NP1ftCvjxKjVBKyIDgAaq+nUJn47BszkzeOqM9yneQFVnADMAEhISQqL85pgxY9i8+exOd0OGDOGJJ54o5SuMiWBr34HPvL8fAx90NhaXUFXmfr+fZz7ewKkz+Tx8VRdGX9I+4Mf1Odl79/j8GzDyHE1OAjW9j2tTycngp+ensuFARmVe4ie6t6zLkzf0KLXNk08+Sbdu3bj11lt56qmnuOyyy5g+ffqP2nzxxRdMmzaN//znPwwcOJAPPviANm3a+DVWY0JS7zt//DHC7T9xmsfmprB88xH6xNZn6qh4OjatE5Rj+zpBWx2YBTyiqueqy1C4STNAL87uFBRS7rrrLt59910AFi1axE033fSTNoMGDaJ27do88MADDBs2zBK9MYViGnl69DGNfH6JtKwcpn++nbSsHD8GFlwFBcrbX+1i6Iuf8+3ONJ66oTuzfn1R0BI9+N6z/yWeYZnHROQxYBkQpapFV93MA1aKSEvgGjybLvusrB54oHTo0IHMzEyWL19Oz549eeihh0ocxrn//vsZMGAANvdgIl7WMc/wTe87K5XkC81K2stzCzcBMObSDpV+vWDbfuQk4xOT+W7XcS7u1JjJw+No07BW0OPwKdmr6j+Af5TRJkNEBgNXAlNVNd2XY7nBrbfeyr333svMmTO5+OLie0p7TJo0iUceeYSJEyfy5z//ucQ2xkQEP4/T35zQ5kcfQ0VefgEzVu7gL0u2El2tCi+MimfUBa0dW4od0JuqVPW4qn6gqocCeZxAGzVqFCLCoEE/WVAEwOzZs2nZsiXPPPMMqamprFmzJsgRVl44XCqHnVBdydL7TrjyGb+N0zeMqc6YSzvQMKbE23lcKfVAOsNeWcXUTzdzedemLPnjpdyc0MbRe25cXS7BDVJTU7nnnnt49NFHz/mDGjVqFKNGjQLg008/DWZ4fhPql8phKVRXshSO00eg7Nx8/rZ0K69+voMGtarzjzv6cE1cC6fDAizZl6lHjx58++23TocRcKF6qRzWbCVLSEnalcbYxGR2HMli1AWtmXBdN+rXcs/ViOuTvaqGfLkBVfffQlB4qWxcJIJ7yKEk60weLyzazMyvdtGyXk3eurcvl3Quc5fAoHN1so+OjubYsWMhXQytsOpldHS006EEjp9XXxgTKj7fcoRH56RwIP00dw9oy8NXdSGmhjvTqjuj8mrdujX79u0L+eWMhfXsXa0yCTtUx5aN8dGJUzlM/HgjiWv20aFJDLPGDCChbUOnwyqVq5N9VFSU1YAPlsokbBtbNhFkYcpBHv8wlROncnjgso48MKQj0VFVnQ6rTK5O9iaIKpOwbWzZRIDDGdk88WEqn6Yeomerusy890J6tKzndFjlZsneeFjCNqZEqsqs1fuY9PEGsvMKGHd1V351cTuqVXX13k8/Ycm+kE0yGmOK2Zt2ikfnprBy61H6tm3IlJFxtG9S2+mwfGLJvpBNMhpjvPILlLe+2sXUTzdTRWDisJ7c0TeWKlVCc1UgWLI/yyYZjTHAtsOZjJ2dzJo9JxjcpQnPDo+jVf2aZX+hy1myLxSMMWsbKjLGtXLzC3h1+Xb+tnQbMTWq8tItvRjWu1XI3uNTnCX7YLKhImNcKWVfOg/PXsemQ5lcH9+Cp27sQePaNZwOy68s2QeTDRX5j10lGT/Izs3npSVbeG3FDhrXrsGMn1/A0B7NnQ4rICzZB5Mtb/Qfu0oylfT1jmM8MieFnUezuK1vG8Zf0416NaOcDitgKrMHbTNgtqqWuJuHiLQCvgG2eZ+6WVVDu+6BcQ+7SjI+yszOZcrCTfz7mz3ENqzFu/f146KOjZ0OK+B8SvYi0gCYCcSU0qwf8Kx3Vytj/MvNV0k2xORayzYd5tG5KfyQkc19g9rx/4Z2plb1iqfBtKwcZiXt5eaENiGzqYqvt4DlA7cAGaW06Q/cJyJrRGSyj8cxJvQUDjGtfcfpSIxXWlYOD73/Pff86zvqRFcj8TcXMeH67j4leji72c+spL1+jjRwfN2DNgMoa0nSQmAicApYIiLxqppctIGIjAZGA8TGxvoSijHu4+8hJrtS8JmqMj/5IE99lEpmdi4PXt6J+y/rSPVqlSt1EIqb/QRygvZLVT0DICLfA52AHyV7VZ0BzABISEhw/w4fxpSHv4eYbDLaJ4fSs5kwbz1LNv5Ar9b1eH5UP7o2r+uX1w7FzX4CmewXichtQDowFJgewGMZE75sMrpCVJX3v9vL5AUbyS0oYMJ13bhnYDuqhnCpA3/wS7IXkSFAd1V9ucjTTwPLgBzgVVXd7I9jGRNx3DwZ7TK7j2UxPjGFr3YcY0D7RkwZGcd5jUpbRxI5KpXsVXWw9+NSYGmxzy0Dulbm9Y0xpjzyC5R/rtrJ/y3eTFSVKjw3Io5bL2wTNqUO/MFuqjLhySY1w1uRn+/mzOqMTUxm3d4TXNGtKZOGxdG8Xhjv+ewjS/YmPNmkZnhb+w45i5/m75sb8sr2RtSNjuJvt53P9fEtrDd/DpbsjXtVpnduk5phbW2TYYyt3oYtW2owrHcLnrihR8jc3OQUS/bGvSrTO7dJzbB0KiePFxdv4c1VO2lWtx5v/qInQ7o2czqskGDJ3riX9c5NEV9uO8r4OSnsSTvFnf1jGXd1V+pEh2/hMn+zZG/cy3rnBkg/nctzn2zk/e/20rZRLd4f3Z/+7W3SvaIs2RtjK3dc67MNPzBhXgpHMs8w5tL2/OGKzkRHVXU6rPJx2Xllyd4YW7njOkdPnuGpj1L5OPkgXZvX4bW7EohvXd/psCrGZeeVJXtjbG7ANVSVeWv38/T8DZw6k88fr+zMrwd3IKpq5QqXOcJl55Ule2NsbsAVDpw4zWNzU1i2+Qh9Yuvz/Mh4OjWr43RYvnPZeWXJ3hjjqIIC5d/f7mHKJxspUHjyhu7cNaBtxBcu8zdL9iY8ZR2Db6cDAn1Hu2KCzPzUjiMnGZ+Ywre70hjUsTHPjYijTcNaTocVlizZm/C09h34/HnP4+q1XHU5bSAvv4DXv9jJS59toUa1KkwdFc/NF7S2UgcBZMnehKfed0JOFiCumSAzHhsOZDA2cR3r92dwVY9mTLypJ03rWuGyQLNkb8JTTCO47FGnozBFZOfm8/LSbbz6+Xbq16rOP+7owzVxLZwOK2JYsjfGBNzq3WmMnZ3M9iNZjOzTmsev70b9Wla4LJgs2RtjAibrTB4vLNrMzK920bJeTWbe25dLOzdxOqyIZMneGDdy2a32vlix5QiPzEnhQPpp7up/Hg9f3ZXaNSzlOMXn29JEpJmIrCzl81EiMl9EVonIvb4ex5iIVHir/dp3nI6kwk6cyuFPs9Zx15vfUiOqCrPGDODpm3o6nujTsnKY/vl20rJywvJ4ZfHp3ReRBsBMoLSdfH8HrFbVp0TkExGZpaqZvhzPBEkY9CbDhstutS+vhSkHefzDVI6fyuH+yzrwuyGdXFO4bFbSXp5buAmAMZd2CLvjlcXXP7X5wC3Ah6W0GQyM9z5eASQAy4o2EJHRwGiA2NhYH0MxfuOywk0RzWW32pflcGY2T36YysL1h+jRsi4z772QHi3rORpTWlYO879M5uZqK6jV925uTmgD8L+PgRbs45XFp2SvqhlAWTdAxAD7vY/TgJ9sJ6OqM4AZAAkJCepLLEEXzr3fEO1NGueoKrNX72PSgo2czs1n3NVdue/idq4oXDYraS/Hlr9Oraj3oHpVGg58MKg97IYx1V3Roy8UyEG0k0BNIB2o7f1/6Avn3m+I9SaNs/amneLRuSms3HqUC9s2YMrIeDo0qe10WP9zc0Ib5ufcx6lqnallHZiAJvvVwCBgNtAL+DqAxwoe6/2aCFdQoLz11S6mLtqMABNv6sEd/c6jissKlzWMqc7dVybgGUE2fkn2IjIE6K6qLxd5eibwiYhcDHQHvvHHsRxnvV8TwbYdzmRcYgqrdx/n0s5NmDwijlb1azodlimHSiV7VR3s/bgUWFrsc7tF5Eo8vfsnVDW/MscyxjgnN7+A6Z9v56//3UatGlV58We9GH5+KytcFkICuvBVVQ8AHwTyGMYPwnnS2VTa+v3pPDw7mY0HM7guvgVP3dCDJnVqOB2WqSC7nc2E96Sz8Vl2bj5/WbKV11buoFFMdab//AKu6tHc6bCMjyzZG5t0Nj/xzY5jjJ+Tws6jWdyS0IZHr+tGvZpRTodlKsGSvbFJZ/M/mdm5TP10M29/vZs2DWvy7/v6MbBjY6fDMn5gyd4YA8CyTYd5bG4KBzOyuXdgO/50VWdqVbcUES7sJ2lMhEvLymHixxuY+/1+OjWtTeJvLqJPbAOnwzJ+ZsnemFBVyVVUqsqClIM8+WEq6adz+f3lnbj/sg7UqOaOwmXGvyzZGxOqKrGK6oeMbCbMW89nG34gvnU93rmvH91a1A1AkMYtLNkbE6p8WEWlqvznu708+8lGcvIKePTartw7sB3VXFC4zASWJXtjQlUFV1HtOXaK8XOS+XL7Mfq1a8jzI+Np27i0LSlMOAmPP+dZx2DVNM9HY8KZD+d6foHy+sodDP3L5yTvS2fy8Dje+1V/S/S4bzepQAqPnn1pY5dWCsCEkwqO028+lMnYxGTW7T3B5V2bMml4T1rUs8Jlhdy2m1QghUeyL23s0koBmHBSznH6nLwCXlm+jb8v20ad6Cim3dqbG3u1tMJlxbhtN6lAElV3bBCVkJCgSUlJ/n9h69mbCLN27wnGzU5m8w+Z3NS7JU9c351Gta1wWbgSkdWqWmbR/vDo2ZfGSgGYCHE6J58XP9vMG1/spGmdaN64O4HLu/1kN1ATocI/2RsTAb7cfpTxiSnsSTvF7f1iGX9NV+pGW+GyQErLymFW0l5uTmhDw5jqTodTJp9X44jIGyLylYhMOMfnq4nIHhFZ7v0X53uYxpiSZGTn8sicFG5/7RtE4L1f9Wfy8DifE30krU6prMLJ3VlJe50OpVx86tmLyAigqqoOEJE3RaSTqm4t1iweeE9Vx1U6SmPMTyzZ8AOPzUvhSOYZxlzSnoeu6EzN6pUrdRBJq1MqK9Qmd30dxhnM2R2oFuPZerB4su8PXC8ilwEpwBhVzSvaQERGA6MBYmNjfQzFmMhy7OQZnpq/gfnrDtC1eR1euyuB+Nb1/fLaoZbAnNQwpnpI/UH0dRgnBtjvfZwGlDQL9B1whar2BaKAa4s3UNUZqpqgqglNmjTxMZRKsJuxTAhRVeZ9v58rXvycT9cf5P9d2ZmPHhjkt0QPZxNYKIxBm4rxtWd/Eii8M6M2Jf/RSFbVM97HSUAnH48VOLYGP7KF0LLcAydOM2HeepZuOsz5sfV5fmQ8nZvVcTosE0J8Tfar8QzdfA30AjaX0OZtEXkWWA8MAyb7eKzAse34IlsI/LEvKFDe/XYPUxZuIr9AeeL67tx9UVuqVrGbo0zF+Jrs5wErRaQlcA1wq4hMUtWiK3OeAd4FBPhIVZdULtQAsDX4kaV4T97lf+x3Hs1iXGIy3+5MY2DHRjw3PJ7YRrWcDsuEKJ+SvapmiMhg4EpgqqoeAtYVa7Mez4ocY9yheE/epX/s8/ILeP2Lnbz02RaqV6vC1JHx3JzQ2kodmErx+aYqVT3O2RU5xrify3vyABsOZDAuMZmU/ekM7d6MicN60qxutNNhmTBgd9CayOHSnjzAmbx8Xl66jX8s3079WlH8/fY+XBvX3Hrzxm8s2RvjsNW7jzMuMZlth08yok8rHr+uOw1s6aPxM0v2xjgk60we/7d4M//6chct69XkX/dcyOAuTZ0Oy4QpS/bGOGDl1iM8MieFfcdPc9eA8xh7dVdq17BfRxM4dnb5QwjdnGOclX4ql0kLNjBr9T7aN47hgzED6NuuodNhmQhgyd4fQuDmHOO8T9cf5PEPU0nLyuG3gzvw+8s7ER1V/sJloVZS17iLJXt/CIElfWHlXFdSLr3COpyZzZMfprJw/SG6t6jLP39xIT1b1avw61hFSlMZluz9wd9L+lyatFzjXFdSLrvCUlUS1+xn4scbOJ2bz8NXdWH0Je2Jqupb/UGrSGkqw5K9G7ksabnOua6kXHSFtTftFI/OTWHl1qMknNeAKSPj6di0dqVeM9RK6hp3sWTvRi5KWq50rispF9w0VVCgvPXVLqYu8tQGfPrGHvy8/3lUscJlxmGW7N3IBUnLVNy2wycZn5hM0u7jXNK5CZOH96R1g8grXObURLJNYJfOkr0pm80hlCo3v4AZK3YwbclWalavyp9v7sWIPq0ittSBUxPJNoFdOkv2pmw2h3BO6/enM3Z2MhsOZnBtXHOevrEnTerUcDosRzk1kRzs44balYQle1M2m0P4iezcfKb9dyszVuygYUx1Xr3zAq7u2dzpsCrNHwnMqYnkYB831K4kLNmbstkcwo98uzON8YnJ7Diaxc8SWvPYtd2pVyvK6bD8ItQSmJNCbSmsJXsTuSo4F3HyTB7PL9zE21/vpnWDmrzzy34M6tQ4CIEGT6glMCeF2lJYn5O9iLwBdAcWqOokX9sY45gKzEUs23yYx+akcDAjm3sHtuOPQzsTE4aFy0ItgZny8+lsFZERQFVVHSAib4pIJ1XdWtE2xjiqHHMRx7NymPjxBuZ8v5+OTWsz+9cXccF5DYIUoDH+42vXZDBntyRcDAwCiifyMtuIyGhgNEBsbKyPoRjjo1LmIlSVBSkHefLDVNJP5/L7IR25f0hHalQrf+EyY9zE12QfA+z3Pk4D+vjSRlVnADMAEhIS1MdYjPGrHzKyeXzeehZv+IG4VvV4575+dGtR1+mwjKkUX5P9SaCm93FtoKTKTuVpY4xrqCofJO1l0oKN5OQV8Mg1XfnloHZU87FwmTFu4muyX41nWOZroBew2cc2xrjCnmOnGD8nmS+3H6Nvu4Y8PzKedo1jnA7LGL/xNdnPA1aKSEvgGuBWEZmkqhNKadO/cqE6wMoEhL38AuVfX+7i/xZtpmoV4dnhPbntwlgrXGbCjk/JXlUzRGQwcCUwVVUPAevKaJNeyViDz8oEhLUtP2QydnYya/eeYEjXpjw7vCct6tUs+wuNCUE+LxRW1eOcXW3jcxtXszIBYSknr4B/LN/Oy8u2UrtGNabd2psbe7WM2MJlJjKE310h/mRlAsLOur0nGJeYzKZDmdzYqyVP3tCdRrUju3CZKVmoFToriyV7ExFO5+Tz0pItvL5yB03rRPP6XQlc0b2Z02EZFwu3OkGW7P3JJnRd6avtxxg/J5ndx05xW99YHrm2K3Wj/Vu4LNx6gSb86gRZsvcnm9B1lYzsXJ77ZBPvfbuH8xrV4t1f9eOiDoEpXBZuvUBTuTpBbvzjb8nen2xC1zWWbPiBCfPWczgzm9GXtOcPV3SmZvXAlToIt16gqRw3/vG3ZO9PNqHruGMnz/D0/A18tO4AXZrV4dWfX0DvNvUDftySeoFu7N2Z4HDjH39L9sXZuHtIUlU+WneApz5K5eSZPP5wRWd+M7gD1as5V+rAjb07ExxuLBVtyb44G3cPOQfTTzNh7nr+u+kwvdvUZ+qoeDo3q+N0WK7s3ZnyC7crM0v2xdm4e8goKFDe+24Pz32yibyCAiZc1417BrajqsOlDoomCbf17kz5hduVmSX74mzcPSTsPJrF+MRkvtmZxkUdGjFlRDyxjWo5HRYQfkkiUoXblZklexNS8vILeOOLnbz42RaqV6vC8yPj+FlCG1eVOgi3JBGp3DjuXhmW7E3I2Hgwg3GJySTvS+fK7s2YNKwnzepGOx3WT4RbkjDhwZK9cb0zefn8fek2Xlm+nXo1o3j59vO5Lq6Fq3rzxridJXvjaqt3H2dcYjLbDp9kxPmtePz67jQIg5URxgSbJXvjSqdy8nhh0Wb+9eUuWtSN5p/3XMhlXZo6HZYxIcuSvXGdL7YeZfycZPYdP83P+5/H2Ku7UMfPhcuMiTQVTvYi8gbQHVigqpPO0aYasMP7D+B3qpric5QmIqSfyuXZTzbwQdI+2jWO4YMxA+jbrqGjMYXbjTUmclUo2YvICKCqqg4QkTdFpJOqbi2haTzwnqqO80uUJux9uv4Qj3+4nrSsHH4zuAMPXt6J6KjAFS4rL1szb8JFRXv2gzm7zeBiYBBQUrLvD1wvIpcBKcAYVc0r3khERgOjAWJjYysYigkHRzLP8NRHqSxIOUj3FnX55y8upGerek6H9T/+WjNvVwjGaaUmexGZDnQp8tSlwBvex2lAn3N86XfAFap6UETeAq4FPireSFVnADMAEhIStGKhm1CmqsxZs59nPt7A6Zx8Hr6qC6MvaU9UVecKl5XEX2vm7QrBOK3UZK+qY4r+X0SmATW9/60NnOs3M1lVz3gfJwGdKhNkSLBqmeW27/gpHp27nhVbjnDBeQ14fmQ8HZvWdjqsgLK7ao3TKtqNWo1n6AagF7DrHO3eFpFeIlIVGAas8y28EFJYLXPtO05H4loFBcpbX+3iqpdWkLQrjadv7MGsMQMCkujTsnKY/vl20rJy/P7avii8QrAhHOOUio7ZzwNWikhL4Bqgv4h0B25X1QlF2j0DvAsI8JGqLvFLtG5m1TJLtf3IScYnJvPdruNc3Kkxk4fH0aZh4AqX2bCJMT8mqhUbKheRBsCVwApVPeSvQBISEjQpKclfL2dcIje/gBkrdjDtv1upGVWVx6/vzsg+rQJe6iASJkQj4Xs0ZROR1aqaUFa7Cq+zV9XjnF2RY8w5rd+fzrjEZFIPZHBtXHOeurEHTesEp3BZuBQjKy2h29WLqQi7g9b4XXZuPn/971amr9hBg1rVefXOPlzds4XTYYWk0hK6TfqairBkb/zqu11pjJudzI6jWdx8QWsmXNederWs1IGvSkvo4XL1EqmCPQxnyd74xckzeUz9dBNvfbWb1g1q8ta9fbmkcxOnwwp5ltDDV7CH4SzZm0pbvvkwj81dz4H00/ziorY8fFUXYmrYqWVMcUV788EehrPfSOOz41k5TFywgTlr9tMxbmKuAAAPs0lEQVShSQyzfz2AC85ztnCZMW5WvDcfzKs2S/amwlSVhesP8cSH6zlxKpffDenI/Zd1dEXhMmPczMlJdUv2pkIOZ2Tz+IfrWZT6A3Gt6vHWvf3o3rKu02EZExKcnIOxZG/KRVWZlbSPiQs2kJNXwPhrunLfoHZUc1nhMmNMySzZmzLtTTvFI3NS+GLbUfq2a8iUEXG0bxLehcuMCTeW7M055RcoM7/cxQuLNlO1ijBpWE9u7xtLlSqBLXVgwo+VdnCeJXtToq0/ZDI2MZnv95xgcJcmTB4eR8v6Ncv+QmNKYKUdnGfJ3vxITl4Br36+nZeXbiOmRlX+cktvburdMuCFy0x4s9IOzrNk7zJOXu4m7zvB2NnJbDqUyQ29WvLkDd1pXLtGUGMw4cnuBHaeJXuXceJy93ROPn9ZsoXXVu6gSZ0avHZXAld2bxaUYxtjgsOSvcsE+3L36x3HGJ+YzK5jp7itbxvGX9ONejWtcJkxleW2SWmfkr2INANmq+rFpbSJAuYADYE3VPVN30KMLMG63M3IzmXKwk28+80eYhvW4t37+nFRx8YBP64xkcJtk9IVTvbenapmAjFlNP0dsFpVnxKRT0Rklqpm+hKk8a+lm37g0TnrOZyZzX2D2vHHoV2oWd1KHRjjT26blPbl9sd84BYgo4x2gzm7o9UKoMxts0Je1jFYNc3z0YWOnTzDg+9/z73/SqJuzWok/uYiJlzf3RJ9CHDbBuqmbG7bZL7Mnr2ITAe6FHlqqao+U46leDHAfu/jNOAnM34iMhoYDRAbG1ueeN1t7Tvw2ROexwMfdDaWIlSVj9Yd4On5G8jMzuWhKzrx28EdqV7NSh2ECrcNCZjQU2ayV9UxPr72SaAmkA7U9v6/+GvPAGaAZ8NxH4/jHr3v/PFHFziYfpoJc9fz302H6dWmPlNHxtOleR2nwzIV5LYhARN6ArkaZzUwCJgN9AK+DuCx3CGmkWt69AUFyvvf7eW5TzaSW1DAhOu6cc/AdlStQKkDt60miGS2Tt1Ull+SvYgMAbqr6stFnp4JfCIiFwPdgW/8cSxTtl1Hsxg/J5mvd6QxoH0jpoyM47xGZc2nn1WY5E/l5DPtv1sBGzrwJ/sjapzg86Ctqg4u8nhpsUSPqu4GrgRWAVeoar6vxzLlk5dfwIwV27nqLytI3Z/BlBFxvPurfhVK9FB0fFh55JquNnTgZ4Xv76ykvU6HYiJIQG+qUtUDnF2RYwJo06EMxs1OZt2+dK7o1pRJw+JoXi/ap9cqOj5cWs/Teqi+sfF34wS7gzbEncnL5+/LtvPKsm3UqxnF3247n+vjW1SqcFl5x4dthYhvbPzdOMGSfQhbs+c442Yns/XwSYaf34rHr+8e1B629VCDx66i7D2oLEv2IehUTh5/XryFN1ftpHndaN78RQJDuga/cJn1UIMn1K6iApGYQ+09cBtL9iFm1bajjJ+TzN6009zZP5ZxV3elTrQVLgt3oXYVVd7EXJE/CqH2HriNJfsQkX46l8kLNvKfpL20axzDf0b3p1/7Rk6HZQKsaDIMpd5seRNzRXrrdiVZOZbsQ8Di1ENMmLeeoyfPMObS9vzhis5ER1k9m6DJOuYphdH7Ts+Nc0EUqkMX5U3M1lsPHkv2LnYk8wxPzU9lQfJBujavw+t3JxDfur7TYUUeB2sehXsytN568FiydyFVZe73+3nm4w2cOpPPn4Z2ZsylHYiqaoXLHOFgzSNLhsZfLNm7zP4Tp3lsbgrLNx+hT2x9po6Kp2NTK1zmKBfVPDLGV5bsXaKgQPn3N7uZsnATBQpP3tCduwa0LblwmYNjyMaY0GTJ3gW2HznJ+MRkvtt1nIs7NWby8DjaNKx17i9wad18Y4x7WbJ3UF5+ATNW7uAvS7YSXa0KL4yKZ9QFrcsudeDCuvnGGHcLn2QfYkMbqQfSGZeYzPr9GVzdoznP3NSDpnXLWbjMxpCNMRUUPss7Coc21r7jdCSlys7N54VFm7jx5VUcSj/DP+7ow6s/v6D8id4YU25B27vX5ftPQzj17ENgaCNpVxpjE5PZcSSLkX1a8/j13ahfywo6GRMoQbspLQTm0cIn2bt4aCPrTB4vLNrMzK920bJeTWbe25dLOzdxOiwTDCE2vBhugnZTWgh0Nn1K9iLSDJitqheX0qYVnq0It3mfullVj/hyvFD2+ZYjPDonhQPpp7l7QFsevqoLMTXC52+sKUMI9PjCWdBuSnNxZ7NQhbOOiDTAs79sWXvd9QOeVdV/+BJYqDtxKoeJH28kcc0+2jeJYdaYASS0beh0WCbYQqDHZyKDLxO0+cAtQEYZ7foD94nIGhGZXFIDERktIkkiknTkSPh0+hemHOSKF1cwb+1+HrisI5/8/mJL9JGqsMfnkiGcoE1YOiCcvzd/KDPZi8h0EVle+A94SFXTy/HaC4HBwIXAABGJL95AVWeoaoKqJjRpEvpj2Iczsvn126v5zb/X0KxuDT56YCB/uqpL0CpU2sluyhLOm52H8/fmD2UO46jqGB9f+0tVPQMgIt8DnYBkH1/L1VSVWav3MenjDWTnFTDu6q786uJ2VAty4bJQLYdrgiecq2iG8/fmD4GcKVwkIrcB6cBQYHoAj+WYvWmneHRuCiu3HqVv24Y8NzKODk1qOxKLneymLOFcRTOcvzd/8EvXU0SGiMgDxZ5+GlgGfA28qqqb/XEst8gvUP65aidDX1rBmt3HmXhTD94f3d+xRA9nT3bbjLn8bOgr9ITqz8zpuH3u2avq4CKPlwJLi31+GdDV58hcbNvhTMbOTmbNnhNc2rkJk0fE0ap+TafDMj6woa/KCcTG4mUJ1Z+Z03Hbgu8KyM0v4NXl2/nb0m3UqlGVl27pxbDercouXGZcy4a+KseJBBaqPzOn4xZVdeTAxSUkJGhSUpLTYZxTyr50Hp69jk2HMrkuvgVP39iDxrVrOB2WMY5yomdvfkxEVqtqQlntrGdfhuzcfF5asoXXVuygce0aTP/5BVzVo7kjsdgvlnEbmxQNHZbsS/H1jmM8MieFnUezuPXCNjxybTfq1YxyLB6nx/yMMaHLkn0JMrNzmTJ/Lf9efZg29Wvw7/v6MbBjY6fDcnzMzxgTuizZF7Ns02EenZvCofTT/LLqQv44oAu1Ol7hdFiAXTIbY3xnyd4rLSuHZ+anMm/tATo1rU3iPT3pc3Q79L7D6dCMMSHODfNtEZ/sVZX5yQd56qNUMk7n8uDlnfjtZR2oUa0qdHF3ydKKcsMJZ0wkcsN8W0Qn+0Pp2UyYt54lG38gvnU9pv6qH12b13U6rIBxwwlnTCRyw3xbRCZ7VeX97/YyecFGcgsKeOzabtwzsG3QC5cFmxtOOGMikRvm2yIu2e8+lsX4xBS+2nGM/u0bMmVEPG0bl7UPS3hwwwlnjHFGxCT7wsJl/7d4M1FVqjB5eBy3XtiGKlWs1EGks7kMEwkiItlvPpTJ2MRk1u09weVdmzJpeE9a1LPCZcbD5jJMJAjrZJ+TV8Dfl23jleXbqBMdxV9vO58b4ltY4TLzIzaXYSJB2Cb7tXtPMHb2Orb8cJKberfkyRt62CW6KZHNZZhIEHbJ/lROHi8u3sKbq3bStE40b9ydwOXdmjkdljHGOCqskv2X244yfk4Ke9JOcUe/WMZf05U60c4VLjPGGLeo8MJyEaknIgtFZLGIzBWRc46NiMgbIvKViEyoXJilSz+dy/jEZG5//RuqCLw/uj/PDo+zRF9JTm+jZkzIyjoGq6Z5PrqEL3cR3QG8qKpDgUPA1SU1EpERQFVVHQC0F5FOvod5bsn7TjD0pc/5IGkvYy5pz8IHL6F/+0aBOFTEKVylMitpr9OhGBNa1r4Dnz3h+egSFR7GUdVXivy3CXD4HE0HAx94Hy8GBgFbizYQkdHAaIDY2NiKhgJAbMNadG5Wh9fuSiC+dX2fXsOUzFapGOOj3nf++KMLlLktoYhMB7oUeWqpqj4jIgOASap6+Tm+7g3gr6q6TkSGAn1Udcq5juP2bQmNMcaN/LYtoaqOKeHFGwJ/A0aW8qUngcI7l2rj25CRMcYYP/BlgrY6MAt4RFV3l9J0NZ6hG4BewK4KR2eMMcYvfOlt/xLoAzwmIstF5BYR6S4ik4q1mwf8XEReBH4GLKhkrMYYY3xU5ph9pV5cpAFwJbBCVQ+V1tbG7I0xpuL8NmZfGap6nLMrcowxxjjEJk2NMSYCWLI3xpgIYMneGGMiQEAnaCtCRI4ApS3lLEtj4KifwvEni6tiLK6KsbgqJhzjOk9Vm5TVyDXJvrJEJKk8M9LBZnFVjMVVMRZXxURyXDaMY4wxEcCSvTHGRIBwSvYznA7gHCyuirG4KsbiqpiIjStsxuyNMcacWzj17I0xxpyDJXtjjIkAIZfs3bgHbpHjNRORlWW0aSUi+7wVQ5eLSJnrY4MUV5SIzBeRVSJyb6Bj8h6zzJ+PiFQTkT1F3q84F8QU1POqPMcM9vtU5LilnltOnFfljMuJ38Ny5a5AnV8hl+xx2R64RY7XAJgJxJTRtB/wrKoO9v474pK4fgesVtWBwCgRqRPguMr784kH3ivyfqU4GVOwz6sKHDNo71ORuMpzbgX1vKpAXEH9PfQqM3cF8vwKuWSvqq+o6mfe/1Z0D9xAygduATLKaNcfuE9E1ojI5ADHBOWPazBn368VQKBvPCl6vNJ+Pv2B60XkW2+PJ5CVWssTU3na+Ft5jhnM96lQec6twQT3vILyxRXs38Py5q7BBOj8cn2yF5HpRS61lovIE97nBwANVPXrc3xpDLDf+zgNaBbIuICHVDW9HF+6EM8P9EJggIjEuySuYL9fvyvn8b4DrlDVvkAUcK0/4yqmPO9BQN+nSsQVzPcJAFXNKMe5FfT3q5xxBfT3sDRl5K6AvV/B+OtfKW7dA7ekuMrpS1U9AyAi3wOdgGQXxFX4fqXjeb9O+ism+GlcIjKN8v18kgvfLyAJz/sVKOU5Z5zYW7k8xwzm+1QRAT2vKiGgv4fnUo7cFbDzy/U9++Ik9PfAXSQiLUSkFjAUWO90QF7Bfr/Ke7y3RaSXiFQFhgHrHI7JifOqPMcM5vtUEfZ76FXO3BW490tVQ+of8BvgOLDc++8WoDswqVi7unhO+BeBjUC9IMW3vMjjIcADxT5/GbAJTy/igWDEVM64zgNSgWl4hgSqBjien/x8zvFz7Ol9r1LwTKgFM6ZebjivyhlX0N6nc51bbjivKhBX0H8PS8hdTwbz/ArrO2ilAnvgGhCRlnh6FYu0fOP8lT2e634+5YnJibjd+F6VV7DPq1AXqJ91WCd7Y4wxHiE3Zm+MMabiLNkbY0wEsGRvjDERwJK9McZEAEv2xhgTAf4/ARsR9lPpwlIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pylab as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "from helper import Pocket_PLA\n",
    "from helper import preprocess\n",
    "\n",
    "#Step1产生数据\n",
    "def generatedata(n, flag=True):\n",
    "    \"\"\"\n",
    "    产生n组数据，10%为噪声，这里直线选择为y=x，y>x则标签为1，否则为-1\n",
    "    x, y的范围都介于(-2, 2)，flag用于判断是否产生噪声\n",
    "    \"\"\"\n",
    "    #产生X\n",
    "    X = np.random.uniform(-2, 2, (n, 2))\n",
    "    #计算标签\n",
    "    y = np.ones(n)\n",
    "    y[X[:, 0] <= X[:, 1]] = -1\n",
    "    if flag:\n",
    "        #让前10%数据误分\n",
    "        y[: n//10] *= -1\n",
    "    #合并数据\n",
    "    Data = np.c_[X, y]\n",
    "    #打乱数据\n",
    "    np.random.shuffle(Data)\n",
    "    \n",
    "    return Data\n",
    "\n",
    "#Step2展示数据\n",
    "#生成训练数据\n",
    "D_train = generatedata(100)\n",
    "X_train = D_train[:, :-1]\n",
    "y_train = D_train[:, -1]\n",
    "#后面两步是为了作图\n",
    "#标签为+1的点\n",
    "train_px = X_train[y_train > 0][:, 0]\n",
    "train_py = X_train[y_train > 0][:, 1]\n",
    "#标签为-1的点\n",
    "train_nx = X_train[y_train < 0][:, 0]\n",
    "train_ny = X_train[y_train < 0][:, 1]\n",
    "\n",
    "\n",
    "#生成测试数据\n",
    "D_test = generatedata(1000)\n",
    "X_test = D_test[:, :-1]\n",
    "y_test = D_test[:, -1]\n",
    "#标签为+1的点\n",
    "test_px = X_test[y_test > 0][:, 0]\n",
    "test_py = X_test[y_test > 0][:, 1]\n",
    "#标签为-1的点\n",
    "test_nx = X_test[y_test < 0][:, 0]\n",
    "test_ny = X_test[y_test < 0][:, 1]\n",
    "\n",
    "x = [-2, 2]\n",
    "y = [-2, 2]\n",
    "\n",
    "#训练数据\n",
    "plt.scatter(train_px, train_py, s=1)\n",
    "plt.scatter(train_nx, train_ny, s=1)\n",
    "plt.title('训练数据')\n",
    "plt.plot(x, y, label='y=x')\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "#测试数据\n",
    "plt.scatter(test_px, test_py, s=1)\n",
    "plt.scatter(test_nx, test_ny, s=1)\n",
    "plt.title('测试数据')\n",
    "plt.plot(x, y, label='y=x')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Step3训练数据\n",
    "#n为迭代次数，k为步长，N为实验次数\n",
    "n = 1000\n",
    "k = 1\n",
    "N = 20\n",
    "\n",
    "def experiment(n, k):\n",
    "    \"\"\"\n",
    "    模拟一次实验，n为迭代次数，k为步长\n",
    "    \"\"\"\n",
    "    #训练数据\n",
    "    D_train = generatedata(100)\n",
    "    X_train, y_train = preprocess(D_train)\n",
    "    \n",
    "    #测试数据\n",
    "    D_test = generatedata(1000)\n",
    "    X_test, y_test = preprocess(D_test)\n",
    "    \n",
    "    #训练模型\n",
    "    W, W_hat, w_hat, error = Pocket_PLA(X_train, y_train, k, n)\n",
    "    \n",
    "    #计算错误率\n",
    "    ein = np.mean(np.sign(W.dot(X_train.T)) != y_train, axis=1)\n",
    "    ein_hat = np.mean(np.sign(W_hat.dot(X_train.T)) != y_train, axis=1)\n",
    "    eout = np.mean(np.sign(W.dot(X_test.T)) != y_test, axis=1)\n",
    "    eout_hat = np.mean(np.sign(W_hat.dot(X_test.T)) != y_test, axis=1)\n",
    "    return ein, ein_hat, eout, eout_hat\n",
    "\n",
    "#存储结果\n",
    "Ein = np.zeros(n)\n",
    "Ein_hat = np.zeros(n)\n",
    "Eout = np.zeros(n)\n",
    "Eout_hat = np.zeros(n)\n",
    "\n",
    "for i in range(N):\n",
    "    ein, ein_hat, eout, eout_hat = experiment(n, k)\n",
    "    Ein += ein\n",
    "    Ein_hat += ein_hat\n",
    "    Eout += eout\n",
    "    Eout_hat += eout_hat\n",
    "    \n",
    "#计算均值\n",
    "Ein /= N\n",
    "Ein_hat /= N\n",
    "Eout /= N\n",
    "Eout_hat /= N\n",
    "\n",
    "t = np.arange(1, n+1)\n",
    "\n",
    "#Ein作图\n",
    "plt.plot(t, Ein, label='Ein')\n",
    "plt.plot(t, Ein_hat, label='Ein_hat')\n",
    "plt.title('Ein')\n",
    "plt.xlabel('训练次数')\n",
    "plt.ylabel('错误率')\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "#Eout作图\n",
    "plt.plot(t, Eout, label='Eout')\n",
    "plt.plot(t, Eout_hat, label='Eout_hat')\n",
    "plt.title('Eout')\n",
    "plt.xlabel('训练次数')\n",
    "plt.ylabel('错误率')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Exercise 3.9 (Page 97)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Step1 构造损失函数\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "def Class(s,y):\n",
    "    if s * y > 0:\n",
    "        return 0\n",
    "    else:\n",
    "        return 1\n",
    "    \n",
    "def Sq(s, y):\n",
    "    return (s - y) ** 2\n",
    "\n",
    "def Log(s, y):\n",
    "    return np.log(1 + np.exp(- y * s))\n",
    "\n",
    "#Step2 构造点集并作图\n",
    "#构造点\n",
    "x = np.arange(-2,2,0.01)\n",
    "\n",
    "#y=1\n",
    "eclass1 = [Class(i, 1) for i in x]\n",
    "esq1 = [Sq(i, 1) for i in x]\n",
    "elog1 = [Log(i, 1) / np.log(2) for i in x]\n",
    "\n",
    "#y=-1\n",
    "eclass2 = [Class(i, -1) for i in x]\n",
    "esq2 = [Sq(i, -1) for i in x]\n",
    "elog2 = [Log(i, -1) / np.log(2) for i in x]\n",
    "\n",
    "plt.plot(x, eclass1, label='eclass')\n",
    "plt.plot(x, esq1, label='esq')\n",
    "plt.plot(x, elog1, label='elog')\n",
    "plt.title('y=1')\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "plt.plot(x, eclass2, label='eclass')\n",
    "plt.plot(x, esq2, label='esq')\n",
    "plt.plot(x, elog2, label='elog')\n",
    "plt.title('y=-1')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Exercise 3.11 (Page 101)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f198390>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#隐函数作图库\n",
    "from sympy.parsing.sympy_parser import parse_expr  \n",
    "from sympy import plot_implicit \n",
    "ezplot = lambda exper: plot_implicit(parse_expr(exper))\n",
    "\n",
    "#a\n",
    "#wo=0\n",
    "ezplot('x1**2-x2**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f21bfd0>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#w0>0\n",
    "ezplot('1+x1**2-x2**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129e6a4e48>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#w0<0\n",
    "ezplot('-1+x1**2-x2**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWUAAAD3CAYAAADFXEVHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAADF5JREFUeJzt3V9oXGUax/HfWUqhToixa9LBvRgFxfVKQ7OQUKNjkFDdm3gxbfVOGxoSYwshCA0S2KQlAW9WJIhDK7stgQZMowiaDSEZak26EkMCKzT+bVmRjdMmJjtNdDA9e+E2Wpu2GZ0573PS7wcGZtJ32qfD4cvhzZwZz/d9AQBs+J3rAQAAPyHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYMgm1wNg4/E8b4ekcklbJP1b0pDv+3NupwLCweOzL5AvnudVS9ovaVjSPyUtS7pHUp2kbyT9xff9FXcTAvYRZeSF53n3SGqUdHCt8P7/7PlPvu//NfDhgBAhygBgCL/oAwBD+EUf8srzvFOSbpO0+PMfS/J9369xMxUQHmxfIK88z9sm6W+Sdvu+v3iT5QB+gSgj7zzPK5H0g+/7GdezAGGT656yz43bzW6+789/9dVX//35z6ampgr2742NyX/ssZ3O/9/cuN3gtm78og8FkUgk9PLLL2txcVGtra1qa2sr6L83N3ehoH8/EBSijIL44IMPdO7cOZWWlqqoqEjvvvuu65GAUCDKKIjdu3fru+++09jYmKanp9Xc3Ox6JCAUeEscCuLAgQPasWOHJGlgYED9/f2OJwLCgTNl5MX58+f11ltvrT6+EuQrHn30UZ04cSLosYDQIcrIi1gspk8++UT79+/XzMzM6s+XlpZ07NgxNTc365FHHnE4IRAObF8gb1588UWdP39ex48f1+effy7P87RlyxY9+eSTnCUD60SUkVexWEwvvfSS6zGA0GL7Ann19ttvS5IuXrzoeBIgnIgy8uqVV16R9OPFIwByx/YF8srzPLW3t+vLL79UR0fHVX/W3t7uaCogPIgy8mpgYEDT09N65513FI/HxQdeAbkhysir4uJiVVdX69lnn+UtcMCvwJ4yCmL//v2uRwBCiSgDgCFEGQAMIcoAYAhRBgBDiDJMm52dVXl5uesxgMAQZZjW2tqq5eVl12MAgSHKMGtkZESRSETRaNT1KEBgiDJMymaz6uzsVHd393XXJJNJVVRU6LnnKnTxYjrA6YDCIcowqbu7W01NTSopKbnumn379mliYkJvvDGh3/++NMDpgMIhyjBpeHhYPT09isfjmpqaUn19veuRgEDw2Rcw6dSpU6v34/G4jhw54nAaIDicKcO8VCrlegQgMEQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQza5HgBYy8LCgvbs2aOVlRVFIhH19fVp8+bNrscCCo4zZZjU29urlpYWDQ0NKRqNanBw0PVIQCA4U4ZJTU1Nq/fT6bTKysocTgMEhyjDtPHxcc3Pz6uysvKaP0smk0omk8pkpEwm7WA6IP883/dzWZ/TYuC3mJubU21trfr7+xWLxa67bmxMamys0PT0RIDTATnx1ruQPWWYlM1mlUgk1NXVdcMgAxsNUYZJR48e1eTkpA4fPqx4PK6+vj7XIwGBYPsCocf2BUKA7QsACCOiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGWbt3btXVVVVOnTokOtRgMAQZZh08uRJraysaHx8XF988YU+/fRT1yMBgSDKMCmVSmnXrl2SpNraWp0+fdrxREAwPN/31714586d/oULFwo4zs2l02mVlpY6ncGKjfxanDt3Ttu2bdOWLVu0uLiopaUlRaPRq9ak02lduHBBKyvSDz98r4ceesjRtLZs5OMiV1Zei48++ugfvu/vXM/anKIsKafFhVBRUaGJiQnXY5iwkV+LAwcO6Omnn1ZlZaVOnjyps2fPqq2tbc21Y2PS449HtLR0KeApbdrIx0WuDL0W3noXsn0Bk7Zv3766ZTE9Pa27777b7UBAQDa5HgBYS11dnaqrq/X111/rvffe05kzZ1yPBAQidGfK+/btcz2CGRv5tSguLlYqlVJlZaVGR0d1++2333D91q13BjSZfRv5uMhVGF+L0O0pA780NiY1NlZoetrE3iGwFvaUASCMQhnl2dlZlZeXux7DqYWFBT3xxBOqra3VU089pWw263okOMYxca0wtiKUUW5tbdXy8rLrMZzq7e1VS0uLhoaGFI1GNTg46HokZ7q69uqzz87e8pdjc0xcK4ytCN27L0ZGRhSJRK65kOBW09TUtHo/nU6rrKzM4TTuXLkc+957/7h6OfZ9993neiwnOCauFtZWmI5yQ0ODZmZmVh/X1NRodHRUAwMDqqurczhZ8NZ6Ldrb2zU+Pq75+XlVVlY6nM6dVCqlmppdOn78X6uXY9+qUb7iVj8mJCmbzaqzszOUrTAd5ddff/2qxx0dHWpqalJJSYmjidz55WshSXNzc3rhhRfU39/vYCIbLl26pNLSP0iStm7dqsnJSccTucUx8aPu7u7QtiJUe8rDw8Pq6elRPB7X1NSU6uvrXY/kTDabVSKRUFdXl2KxmOtxnCkqKtL33/+4Z5jJZHT58mXHE7nDMfGTMLcitO9TjsfjSqVSrsdw5rXXXlNbW5sefPBBSVJjY6N2797teKrgHTt2TB9++I3ef/+E6ur+rPvvv1/PPPOM67Gc4JhYm5FWrPt9yqGNMiBJi4uL2r69Wt9++x/deedWnTlz5qZX/wEOcPEIbg3FxcV69dWUbrutaF2XYwPWEWWEXnHxHSopuSN0b30C1kKUAcAQogwAhhBlACgwz/O2eZ73/nrWEmUAKKD5+XlJ+rukyHrWE2UAyKPTp08rkUjo8uXLqqqq0uLioiTtlrS4nucTZQDIo4cfflhFRUVqbm5WXV2dYrGYfN9fWO/zTX/2BQCE0fPPP6+qqiql0+mcn8uZMgDk2aFDh3Tw4EF1dnbm/FyiDAB59Oabb+quu+5SR0eHPv7445w/uZDPvkDo8cWpCAE++wIAwogoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBD+JB7mLOwsKA9e/ZoZWVFkUhEfX192rx5s+uxgEBwpgxzent71dLSoqGhIUWjUQ0ODroeCQgMZ8owp6mpafV+Op1WWVmZw2mAYBFlONfQ0KCZmZnVxzU1NWpvb9f4+Ljm5+dVWVm55vOSyaSSyaQyGSmTyf270ACL+OYRmDQ3N6fa2lr19/crFovdcC3fPIIQ4JtHEF7ZbFaJREJdXV03DTKw0RBlmHP06FFNTk7q8OHDisfj6uvrcz0SEBi2LxB6bF8gBNi+AIAwIsoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpRh1uzsrMrLy12PAQSKKMOs1tZWLS8vux4DCBRRhkkjIyOKRCKKRqOuRwECtcn1AEBDQ4NmZmZWH9fU1Gh0dFQDAwOqq6u77vOSyaSSyaQyGSmTSQcxKlBwnu/7uazPaTHwa3R0dOiBBx5QIpFQPB5XKpW64fqxMamxsULT0xPBDAjkzlvvQrYvYM7w8LB6enoUj8c1NTWl+vp61yMBgWH7AuacOnVq9X48HteRI0ccTgMEizNlmHazrQtgoyHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAzJ9Tv6AJM8zxv0fX+n6zmA34ooA4AhbF8AgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIf8DGNGkyoX9o0kAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129e6c7860>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#b\n",
    "#wo=0\n",
    "ezplot('x1**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f2b8ef0>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#w0>0\n",
    "ezplot('1+x1**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWUAAAD3CAYAAADFXEVHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAADHlJREFUeJzt3WFI3fUex/HP/zIG25GlI92hHpx6EPRwMi8oyzr4QKxHxmbb05gonpyBSLAI4epEoSe3Bz7YQePeQkjyZBHUrogevKuzCydRKMii2rgRec9S9K5Zh+v+98Ga29raPHXO//f9u/cLBN3+xz6cDm/+/PV/5vm+LwCADX9yPQAAcANRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEN2uR6AncfzvMOSqiXtkfRvSVO+76+4XQWEg8d7X6BYPM+rl9QlaVrSvyRtSHpUUrOk/0j6i+/7m+4WAvYRZRSF53mPSuqQdOpO4f3l7PnPvu//NfBxQIgQZQAwhB/0AYAh/KAPReV53pykvZLWb/5jSb7v+w1uVgHhweULFJXneQck/U3SMd/31+9xOIBfIcooOs/zyiX9z/f9y663AGFT6DVlnw8+bv5IpW7/M9/3V7/99tv/3vxnCwsLJd3R1NTk/LmYmHD//4MPsx/bxg/6UBItLS169dVXtb6+rp6eHr388ssl/e9dunSppN8fCApRRkl89NFHunDhgiorK1VWVqYPPvjA9SQgFIgySuLYsWP66aef9PHHH2txcVGdnZ2uJwGhwK/EoSRefPFFHT58WJI0OTmpVCrleBEQDpwpoyguXryod999d+vr60G+7qmnntJbb70V9CwgdIgyiiIWi+mLL75QV1eXlpaWtv78ypUreuONN9TZ2aknn3zS4UIgHLh8gaJ56aWXdPHiRb355pv66quv5Hme9uzZo2eeeYazZGCbiDKKKhaL6ZVXXnE9AwgtLl+gqN577z1J0g8//OB4CRBORBlF9dprr0m6dvMIgMJx+QJF5Xmeent79c0336ivr++Wv+vt7XW0CggPooyimpyc1OLiot5//33F43HxhldAYYgyimrfvn2qr6/X888/z6/AAb8D15RREl1dXa4nAKFElAHAEKIMAIYQZQAwhCgDgCFEGaYtLy+rurra9QwgMEQZpvX09GhjY8P1DCAwRBlmzczMKBKJKBqNup4CBIYow6R8Pq/+/n4NDQ395jHJZFI1NTWqqalRLpcLcB1QOkQZJg0NDSmRSKi8vPw3j2lra1M2m1U2m1VlZWWA64DSIcowaXp6WsPDw4rH41pYWFBra6vrSUAgeO8LmDQ3N7f1eTwe18jIiMM1QHA4U4Z56XTa9QQgMEQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ3a5HgDcydramo4fP67NzU1FIhGNj49r9+7drmcBJceZMkwaGxtTd3e3pqamFI1GdfbsWdeTgEBwpgyTEonE1ue5XE5VVVUO1wDBIcowLZPJaHV1VbW1tbf9XTKZVDKZlHQt3MBOwOULmLWysqKTJ0/q9ddfv+Pft7W1KZvNKpvNqrKyMuB1QGkQZZiUz+fV0tKiwcFBxWIx13OAwBBlmDQ6Oqr5+XkNDAwoHo9rfHzc9SQgEFxThkkdHR3q6OhwPQMIHGfKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogyzTpw4obq6Op0+fdr1FCAwRBkmvfPOO9rc3FQmk9HXX3+tL7/80vUkIBBEGSal02k999xzkqTGxkadO3fO8SIgGJ7v+9s+uKmpyb906VIJ59xbLpdTZWWl0w1WWHguVleliorif98LFy7owIED2rNnj9bX13XlyhVFo9Fbjsnlcrr+evz555918ODB4g8pQKmei0JZeF1YYeW5+OSTT/7h+37Ttg72fb+QD+cOHTrkeoIZFp6LiYnSfN+uri4/k8n4vu/7qVTKHxgYuOvxe/fuLc2QArz9tusF11h4XVhh6LnYdme5fAGTDh06tHXJYnFxUY888ojbQUBAdrkeANxJc3Oz6uvr9d133+nDDz/U+fPnXU8CAhG6M+W2tjbXE8zYyc/Fvn37lE6nVVtbq9nZWT3wwAN3Pf7BBx8MaJl9O/l1UagwPhcF/aBPUkEHY+dLpaQjR1yvkGpqapTNZp1umJiQjh51OgF2eds9MHRnygCwk4UyysvLy6qurnY9w6m1tTU9/fTTamxs1LPPPqt8Pu96EhzjNXG7MLYilFHu6enRxsaG6xlOjY2Nqbu7W1NTU4pGozp79qzrSc6cOHFCn3/++X1/OzaviduFsRWh++2LmZkZRSKR224kuN8kEomtz3O5nKqqqhyucef67diPP/741u3Yjz32mOtZTvCauFVYW2E6yu3t7VpaWtr6uqGhQbOzs5qcnFRzc7PDZcG703PR29urTCaj1dVV1dbWOlznzvXbsT/99NOt27Hv1yhfd7+/JiQpn8+rv78/lK0wHeUzZ87c8nVfX58SiYTKy8sdLXLn18+FJK2srOjkyZNKpVIOFtnw448/6uGHH5Yk7d+/X/Pz844XucVr4pqhoaHQtiJU15Snp6c1PDyseDyuhYUFtba2up7kTD6fV0tLiwYHBxWLxVzPcaasrGzrmuHly5d19epVx4vc4TVxQ5hbEaooz83NKZ1OK51O6+DBgxoZGXE9yZnR0VHNz89rYGBA8Xhc4+Pjric5we3YN/CauCHMreDmEfwhrm8eWV9fV319vb7//nvt379f58+fv+fdf6XCzSO4C24ewf3h+u3YZWVl27odG7COKCP0KioqVFFREbpffQLuhCgDgCFEGQAMIcoAUGKe5x3wPO+f2zmWKANACa2urkrS3yVFtnM8UQaAIjp37pxaWlp09epV1dXVaX19XZKOSVrfzuOJMgAU0RNPPKGysjJ1dnaqublZsVhMvu+vbffxpt/7AgDC6IUXXlBdXZ1yuVzBj+VMGQCK7PTp0zp16pT6+/sLfixRBoAimpiY0EMPPaS+vj599tlnBb9zIZcvAKCIjh49qqO/vAnKzf/6i+/78e08njNlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ3iXOJiztram48ePa3NzU5FIROPj49q9e7frWUAgOFOGOWNjY+ru7tbU1JSi0egtb38I7HScKcOcRCKx9Xkul1NVVZXDNUCwiDKca29v19LS0tbXDQ0N6u3tVSaT0erqqmpra+/4uGQyqWQyKUm/699CAyzyfN8v5PiCDsbOl0pJR44U//uurKyosbFRqVRKsVjsnsfX1NQom80Wf0gBJiakX/7BCeDXvO0eyDVlmJPP59XS0qLBwcFtBRnYSYgyzBkdHdX8/LwGBgYUj8c1Pj7uehIQGK4pw5yOjg51dHS4ngE4wZkyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADCHKAGAIUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKMOs5eVlVVdXu54BBIoow6yenh5tbGy4ngEEiijDpJmZGUUiEUWjUddTgEDtcj0AaG9v19LS0tbXDQ0Nmp2d1eTkpJqbm3/zcclkUslkUpKUy+VKvhMIAlGGc2fOnLnl676+PiUSCZWXl9/1cW1tbWpra5Mk1dTUlGwfECQuX8Cc6elpDQ8PKx6Pa2FhQa2tra4nAYHhTBnmzM3NbX0ej8c1MjLicA0QLM6UYVo6nXY9AQgUUQYAQ4gyABhClAHAEKIMAIYQZQAwhCgDgCFEGQAMIcoAYAhRBgBDiDIAGEKUAcAQogwAhhBlADCEKAOAIUQZAAwhygBgiOf7vusNwB/med5Z3/ebXO8A/iiiDACGcPkCAAwhygBgCFEGAEOIMgAYQpQBwBCiDACGEGUAMIQoA4AhRBkADPk/rxzkgZVkdRwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f55a080>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#w0<0\n",
    "ezplot('-1+x1**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f34e780>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#c\n",
    "ezplot('-1+x1**2+x2**2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWUAAADwCAYAAADYWXX/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAACxpJREFUeJzt3V9o1fX/wPHXR0SIIzYlbdTFugm6K2n82ChlLBgK34sFTu3yh5G4DMF2oxde+AeFriM86MXvQmjQ9C73lZrDnzYvlikUaEF48SsaRzY2Mmug53cRLfpmupU7n9eZj8fVOfo+88Xhw5OP753P5xT1ej0AyGFZ2QMA8DtRBkhElAESEWWAREQZIBFRBkhElAESEWWARESZR6ooiuVFUfyrKIr/+o8/7ytrJmgmhSv6eJSKohiKiImIWBsRLRHx3/V6/f+Kohip1+vd5U4H+S0vewCWnEq9Xu+PiCiKojMiThdFsa/kmaBpLDTKTqt5oM2bN8enn35af+2116Jer8fk5GRs3br1ky+++CJiEY+fTZs2xfDw8GL9ePinivkutKfMI/Xhhx/G119/Hd99911ERKxZsybOnj0b77777qL+u7du3VrUnw+NIso8UqtWrYpdu3ZFX19fvPfeezEzMxP79u2Lixcvlj0aNAVRZlFcunQpbt68GWvXro2VK1fGxx9/XPZI0BREmUWxbdu2+Pnnn+Ozzz6La9euxe7du8seCZqCT1+wKPbs2ROvvPJKREScOXMmhoaGSp4ImsNCP6fs0xek1N7eHuPj42WPAX/Fpy8AmpEoAyQiygCJiDJAIqIMkIgoAyQiygCJiDJAIqIMkIgoAyQiygCJiDKpTUxMxPr168seAxpGlEltYGAg7ty5U/YY0DCiTFojIyNRqVSitbW17FGgYUSZlGZnZ+PQoUNx7NixskeBhnKTe1I6duxY9Pf3R0tLy1+uqVarUa1WIyKiVqs1ajRYVG5yT0obN26MZct+/Y/c1atXY8uWLXHixIm/XO8m9yQ375vcO1MmpQsXLsw97urqemCQYSmxp0x6o6OjZY8ADSPKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJCLKAImIMkAiogyQiCgDJLK87AHgfqanp2P79u1x9+7dqFQqMTg4GCtWrCh7LFh0zpRJ6dSpU7F37944d+5ctLa2xvDwcNkjQUM4Uyal/v7+uce1Wi3WrVtX4jTQOKJMamNjYzE1NRUdHR1/+rtqtRrVajUifg03LAVFvV5fyPoFLYZ/YnJyMnp6emJoaCja2toeuLa9vT3Gx8cbNBksWDHfhfaUSWl2djb6+vri6NGjDw0yLCWiTEonT56MK1euxJEjR6KrqysGBwfLHgkawvYFS4LtC5KzfQHQjEQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWXS2rFjR3R2dsbhw4fLHgUaRpRJ6fTp03H37t0YGxuLb7/9Nr755puyR4KGEGVSGh0dja1bt0ZERE9PT1y8eLHkiaAxinq9Pu/FmzZtqt+6dWsRx3m4Wq0Wa9euLXWGLJbye3Hz5s14+umn44knnoiZmZn46aeforW19Q9rarVa/HY8/vLLL/HSSy+VMWo6S/m4WKgs78Xnn3/+73q9vmk+axcU5YhY0OLF0N7eHuPj42WPkcJSfi/27NkTb7zxRnR0dMTp06fj+vXrsX///r9cX6lU4vbt2w2cMK+lfFwsVKL3opjvQtsXpPTyyy/PbVlcu3YtnnvuuXIHggZZXvYAcD+9vb2xYcOG+P777+Ps2bNx+fLlskeChmi6M+W33nqr7BHSWMrvxapVq2J0dDQ6Ojri/Pnz8eSTTz5w/VNPPdWgyfJbysfFQjXje9F0e8pwP4n2DuF+7CkDNKOmjPLExESsX7++7DFKNT09HZs3b46enp54/fXXY3Z2tuyRSrNjx464fv36Y3/ln2Piz5qxFU0Z5YGBgbhz507ZY5Tq1KlTsXfv3jh37ly0trbG8PBw2SOV4rcr/1544YXH/so/x8SfNWMrmu7TFyMjI1GpVP50IcHjpr+/f+5xrVaLdevWlThNeX678u/LL7+cu/Lv+eefL3usUjgm/qhZW5E6yjt37owbN27MPe/u7o7z58/HmTNnore3t8TJGu9+78WBAwdibGwspqamoqOjo8TpynP79u149tlnIyJizZo1ceXKlZInKt/jfkxERMzOzsahQ4eashWpo3z8+PE/PD948GD09/dHS0tLSROV5z/fi4iIycnJeOedd2JoaKiEiXJYuXLl3H9Pf/zxx7h3717JE5XLMfGrY8eONW0rmmpP+ZNPPon3338/urq64urVq/Hmm2+WPVJpZmdno6+vL44ePRptbW1lj1MaV/79zjHxu2ZuRdN+TrmrqytGR0fLHqM0H3zwQezfvz9efPHFiIjYtWtXbNu2reSpGm9mZiY2bNgQP/zwQ6xZsyYuX7780AtNlirHxP0lacW8P6fctFGG30xNTUV7e3tcunSp6X6pw2PDxSM8PlavXh2rV68WZJYEUQZIRJQBEhFlgEREGWCRFUXxdFEU/zuftaIMsIimpqYiIv4nIirzWS/KAI/QxYsXo6+vL+7duxednZ0xMzMTEbEtImbm83pRBniEXn311Vi5cmXs3r07ent7o62tLer1+vR8X5/63hcAzejtt9+Ozs7OqNVqC36tM2WAR+zw4cOxb9++OHTo0IJfK8oAj9BHH30UzzzzTBw8eDC++uqrBd9O1r0vWBJ8cSrJufcFQDMSZYBERBkgEVEGSESUARIRZYBERBkgEVEGSESUARIRZYBERBkgEVEGSESUARJxk3vSmZ6eju3bt8fdu3ejUqnE4OBgrFixouyxoCGcKZPOqVOnYu/evXHu3LlobW2N4eHhskeChnGmTDr9/f1zj2u1Wqxbt67EaaCxRJnS7dy5M27cuDH3vLu7Ow4cOBBjY2MxNTUVHR0d931dtVqNarUaEfG3vgsNMvLNI6Q0OTkZPT09MTQ0FG1tbQ9d75tHSM43j9C8Zmdno6+vL44ePTqvIMNSIsqkc/Lkybhy5UocOXIkurq6YnBwsOyRoGFsX7Ak2L4gOdsXAM1IlAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWAREQZIBFRBkhElAESEWWARESZtCYmJmL9+vVljwENJcqkNTAwEHfu3Cl7DGgoUSalkZGRqFQq0draWvYo0FDLyx4Adu7cGTdu3Jh73t3dHefPn48zZ85Eb29viZNB44kypTt+/Pgfnh88eDD6+/ujpaXlga+rVqtRrVYjIqJWqy3afNBIRb1eX8j6BS2Gv2Pjxo2xbNmvO2tXr16NLVu2xIkTJx74mvb29hgfH2/EePB3FPNd6EyZdC5cuDD3uKur66FBhqXEL/pIbXR0tOwRoKFEGSARUQZIRJQBEhFlgEREGSARUQZIRJQBEhFlgEREGSARUQZIRJQBEhFlgEREGSARUQZIRJQBEhFlgEREGSCRhX5HH6RUFMVwvV7fVPYc8E+JMkAiti8AEhFlgEREGSARUQZIRJQBEhFlgEREGSARUQZIRJQBEvl/L4ryBS89RJIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x2129f351c18>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#d\n",
    "ezplot('1+x1**2+x2**2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Exercise 3.12 (Page 103)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#(c)\n",
    "plt.scatter([-1, 1],[0, 0])\n",
    "plt.scatter([0, 0],[-1, 1])\n",
    "plt.xlim(-2, 2)\n",
    "plt.ylim(-2, 2)\n",
    "plt.plot([-2, 2],[0, 0])\n",
    "plt.plot([0, 0],[-2, 2])\n",
    "plt.xticks()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.1 (Page 109)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy.linalg import inv\n",
    "from helper import generatedata\n",
    "from helper import PLA\n",
    "\n",
    "#Step1 产生数据\n",
    "#参数\n",
    "rad = 10\n",
    "thk = 5\n",
    "sep = 5\n",
    "N = 2000\n",
    "\n",
    "#产生数据\n",
    "X, y = generatedata(rad, thk, sep, N)\n",
    "\n",
    "#作图\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Step2 训练数据\n",
    "#(a)PLA\n",
    "#对数据预处理，加上偏置项项1\n",
    "X_treat = np.c_[np.ones(N), X]\n",
    "\n",
    "#PLA\n",
    "t, last, w = PLA(X_treat, y)\n",
    "\n",
    "#作出直线\n",
    "r = 2 * (rad + thk)\n",
    "a1 = np.array([-r,r])\n",
    "b1 = - (w[0] + w[1] * a1) / w[2]\n",
    "\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.plot(a1, b1, c=\"red\")\n",
    "plt.title('PLA')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#(b)linear regression\n",
    "w1 = inv(X_treat.T.dot(X_treat)).dot(X_treat.T).dot(y)\n",
    "\n",
    "#作图\n",
    "a2 = np.array([-r,r])\n",
    "b2 = - (w1[0] + w1[1] * a1) / w1[2]\n",
    "\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.plot(a2, b2, c=\"red\")\n",
    "plt.title('linear regression')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.2 (Page 109)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from helper import generatedata\n",
    "from helper import PLA\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "\n",
    "#参数\n",
    "rad = 10\n",
    "thk = 5\n",
    "Sep = np.arange(0.2,5.2,0.2)\n",
    "N = 2000\n",
    "#实验次数\n",
    "n = 30\n",
    "\n",
    "\n",
    "#记录迭代次数\n",
    "T = np.array([])\n",
    "\n",
    "for sep in Sep:\n",
    "    t1 = 0\n",
    "    for i in range(n):\n",
    "        X, y = generatedata(rad, thk, sep, N)\n",
    "        X_treat = np.c_[np.ones(N), X]\n",
    "        \n",
    "        t, last, w = PLA(X_treat, y)\n",
    "        t1 += t\n",
    "    \n",
    "    T = np.append(T, t1 / n)\n",
    "    \n",
    "plt.plot(Sep, T)\n",
    "plt.title('sep和迭代次数的关系')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.3 (Page 109)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numpy.linalg import inv\n",
    "from helper import generatedata\n",
    "from helper import Pocket_PLA\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "#Step1 产生数据\n",
    "#参数\n",
    "rad = 10\n",
    "thk = 5\n",
    "sep = -5\n",
    "N = 2000\n",
    "\n",
    "#产生数据\n",
    "X, y = generatedata(rad, thk, sep, N)\n",
    "\n",
    "#作图\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Step2 训练数据\n",
    "#Pocket_PLA\n",
    "#对数据预处理，加上偏置项项1\n",
    "X_treat = np.c_[np.ones(N), X]\n",
    "\n",
    "#迭代次数\n",
    "max_step = 10000\n",
    "\n",
    "#产生结果\n",
    "W, W_hat, w, error = Pocket_PLA(X_treat, y, max_step=max_step)\n",
    "ein = np.mean(np.sign(W_hat.dot(X_treat.T)) != y, axis=1)\n",
    "\n",
    "#(b)\n",
    "t = np.arange(max_step)\n",
    "plt.plot(t, ein)\n",
    "plt.title('Ein VS t')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Pocket PLA的错误率为0.0775\n"
     ]
    }
   ],
   "source": [
    "#(c)\n",
    "r = 2 * (rad + thk)\n",
    "a1 = np.array([-r,r])\n",
    "b1 = - (w[0] + w[1] * a1) / w[2]\n",
    "\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.plot(a1, b1)\n",
    "plt.title('Pocket PLA')\n",
    "plt.show()\n",
    "print('Pocket PLA的错误率为' + str(error / N))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "linear regression的错误率为0.0865\n"
     ]
    }
   ],
   "source": [
    "#(d)\n",
    "#Linear regression\n",
    "w_lr = inv(X_treat.T.dot(X_treat)).dot(X_treat.T).dot(y)\n",
    " \n",
    "#作图\n",
    "a2 = np.array([-r,r])\n",
    "b2 = - (w_lr[0] + w_lr[1] * a1) / w_lr[2]\n",
    " \n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.plot(a2, b2)\n",
    "plt.title('linear regression')\n",
    "plt.show()\n",
    "error = np.mean(np.sign(X_treat.dot(w_lr)) != y)\n",
    "print('linear regression的错误率为' + str(error))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#(e)\n",
    "#特征转换\n",
    "poly = PolynomialFeatures(3)\n",
    "X_poly = poly.fit_transform(X)\n",
    "\n",
    "# 定义等高线高度函数\n",
    "def f(x1, x2, w):\n",
    "    #将网格拉直并拼接\n",
    "    X = np.c_[x1.reshape(-1, 1), x2.reshape(-1, 1)]\n",
    "    #多项式转换\n",
    "    poly = PolynomialFeatures(3)\n",
    "    X_poly = poly.fit_transform(X)\n",
    "    \n",
    "    #计算结果\n",
    "    result = X_poly.dot(w)\n",
    "    #恢复成网格形状\n",
    "    result = np.reshape(result, np.shape(x1))\n",
    "    return result\n",
    "\n",
    "#数据数目\n",
    "n = 2000\n",
    "#定义a, b\n",
    "a = np.linspace(-r, r, n)\n",
    "b = np.linspace(-r, r, n)\n",
    "\n",
    "#生成网格数据\n",
    "A, B = np.meshgrid(a, b)\n",
    "\n",
    "#迭代次数\n",
    "max_step = 10000\n",
    "\n",
    "#Pocket_PLA\n",
    "W_poly, W_poly_hat, w_poly, error_poly = Pocket_PLA(X_poly, y, max_step=max_step)\n",
    "ein_poly = np.mean(np.sign(W_poly_hat.dot(X_poly.T)) != y, axis=1)\n",
    "\n",
    "#(b)\n",
    "plt.plot(t, ein_poly)\n",
    "plt.title('Ein VS t')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征转换后的Pocket PLA的错误率为0.0755\n"
     ]
    }
   ],
   "source": [
    "#(c)\n",
    "plt.contour(A, B, f(A, B, w_poly), 1, colors = 'red')\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.title('Pocket PLA')\n",
    "plt.show()\n",
    "print('特征转换后的Pocket PLA的错误率为' + str(error_poly / N))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "特征转换后的linear regression的错误率为0.01\n"
     ]
    }
   ],
   "source": [
    "#(d)Linear regression\n",
    "w_poly_lr = inv(X_poly.T.dot(X_poly)).dot(X_poly.T).dot(y)\n",
    "plt.contour(A, B, f(A, B, w_poly_lr), 1, colors = 'red')\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.title('Pocket PLA')\n",
    "plt.show()\n",
    "error = np.mean(np.sign(X_poly.dot(w_poly_lr)) != y)\n",
    "print('特征转换后的linear regression的错误率为' + str(error))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.4 (Page 110)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "def f1(s):\n",
    "    a = max(0, 1 - s)\n",
    "    return a ** 2\n",
    "\n",
    "def f2(s):\n",
    "    if s > 0:\n",
    "        return 0\n",
    "    else:\n",
    "        return 1\n",
    "    \n",
    "x = np.linspace(-2, 2, 500)\n",
    "y1 = [f1(i) for i in x]\n",
    "y2 = [f2(i) for i in x]\n",
    "\n",
    "plt.plot(x ,y1, label=\"(max(0,1-s))**2\")\n",
    "plt.plot(x, y2, label=\"[sign(s)!=1]\")\n",
    "plt.legend()\n",
    "plt.title('Ein的比较')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.5 (Page 110)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "\n",
    "def f1(s):\n",
    "    a = max(0, 1 - s)\n",
    "    return a\n",
    "\n",
    "def f2(s):\n",
    "    if s > 0:\n",
    "        return 0\n",
    "    else:\n",
    "        return 1\n",
    "    \n",
    "x = np.linspace(-2, 2, 500)\n",
    "y1 = [f1(i) for i in x]\n",
    "y2 = [f2(i) for i in x]\n",
    "\n",
    "plt.plot(x ,y1, label=\"(max(0,1-s))**2\")\n",
    "plt.plot(x, y2, label=\"[sign(s)!=1]\")\n",
    "plt.legend()\n",
    "plt.title('Ein的比较')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.7 (Page 111) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from cvxopt import matrix, solvers\n",
    "from helper import generatedata\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "\n",
    "def algorithm1(X, y):\n",
    "    \"\"\"\n",
    "    算法1\n",
    "    \"\"\"\n",
    "    N, d = X.shape\n",
    "    c = np.array(np.ones(d))\n",
    "    A = X * y.reshape(-1, 1)\n",
    "    b = np.ones(N) * (-1.0)\n",
    "    \n",
    "    #转化为cvxopt中的数据结构\n",
    "    c = matrix(c)\n",
    "    A = matrix(A)\n",
    "    b = matrix(b)\n",
    "    \n",
    "    sol = solvers.lp(c, A, b)\n",
    "    \n",
    "    w = np.array((sol['x']))\n",
    "    \n",
    "    return w\n",
    "\n",
    "def algorithm2(X, y):\n",
    "    \"\"\"\n",
    "    算法2\n",
    "    \"\"\"\n",
    "    N, d = X.shape\n",
    "    A1 = X * y.reshape(-1, 1)\n",
    "    A2 = np.c_[A1, (-1) * np.eye(N)]\n",
    "    A3 = np.c_[np.zeros((N, d)), (-1) * np.eye(N)]\n",
    "    \n",
    "    A = np.r_[A2, A3]\n",
    "    c = np.array([0.0] * d + [1.0] * N)\n",
    "    b = np.array([-1.0] * N + [0.0]  * N)\n",
    "    \n",
    "    #带入算法求解\n",
    "    c = matrix(c)\n",
    "    A = matrix(A)\n",
    "    b = matrix(b)\n",
    "    \n",
    "    sol = solvers.lp(c, A, b)\n",
    "    \n",
    "    #返回向量\n",
    "    w = np.array((sol['x']))[:d]\n",
    "    \n",
    "    return w\n",
    "\n",
    "def draw(w, X, y, r, text, num):\n",
    "    \"\"\"\n",
    "    作图\n",
    "    \"\"\"\n",
    "    #作出直线\n",
    "    a1 = np.array([-r, r])\n",
    "    b1 = - (w[0] + w[1] * a1) / w[2]\n",
    "    \n",
    "    plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "    plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "    plt.plot(a1, b1, c=\"red\")\n",
    "    plt.title('sep={},algorithm{}'.format(text, num))\n",
    "    plt.show()\n",
    "    \n",
    "    print(w)\n",
    "    \n",
    "# 定义等高线高度函数\n",
    "def f(x1, x2, w):\n",
    "    #将网格拉直并拼接\n",
    "    X = np.c_[x1.reshape(-1, 1), x2.reshape(-1, 1)]\n",
    "    #多项式转换\n",
    "    poly = PolynomialFeatures(3)\n",
    "    X_poly = poly.fit_transform(X)\n",
    "    \n",
    "    #计算结果\n",
    "    result = X_poly.dot(w)\n",
    "    #恢复成网格形状\n",
    "    result = np.reshape(result, np.shape(x1))\n",
    "    return result\n",
    "\n",
    "#参数\n",
    "rad = 10\n",
    "thk = 5\n",
    "sep = 5\n",
    "N = 2000\n",
    "r = 2 * (rad + thk)\n",
    "\n",
    "# =============================================================================\n",
    "# 特征转换之前\n",
    "# =============================================================================\n",
    "#产生数据\n",
    "X, y = generatedata(rad, thk, sep, N)\n",
    "\n",
    "#作图\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0: -3.3816e-01  2.0015e+03  4e+03  2e+00  1e+04  1e+00\n",
      " 1: -3.2245e+01  9.8962e+04  2e+07  9e+01  7e+05  2e+02\n",
      " 2: -6.2194e-01  9.0413e+02  1e+03  8e-01  6e+03  9e+01\n",
      " 3: -8.5118e-01  1.2977e+03  3e+03  1e+00  8e+03  1e+02\n",
      " 4: -2.2040e+00  1.9560e+02  5e+02  9e-02  7e+02  1e+02\n",
      " 5: -2.3609e+00  7.9931e+00  2e+01  4e-03  3e+01  6e+00\n",
      " 6: -5.5781e+00  2.8668e+00  2e+01  2e-03  2e+01  6e+00\n",
      " 7: -3.7408e+02  1.0975e+01  7e+03  8e-03  6e+01  4e+02\n",
      " 8: -3.7314e+04  1.0958e+01  7e+05  8e-03  6e+01  4e+04\n",
      " 9: -3.7314e+06  1.0958e+01  7e+07  8e-03  6e+01  4e+06\n",
      "10: -3.7314e+08  1.0958e+01  7e+09  8e-03  6e+01  4e+08\n",
      "Certificate of dual infeasibility found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-0.80866684]\n",
      " [ 0.01394075]\n",
      " [-0.20527391]]\n"
     ]
    }
   ],
   "source": [
    "#特征转换之前，算法1，sep=5\n",
    "#对数据预处理，加上偏置项项1\n",
    "X_treat = np.c_[np.ones(N), X]\n",
    "w = algorithm1(X_treat, y)\n",
    "\n",
    "#作图\n",
    "draw(w, X, y, r, sep, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0:  1.2062e+02  2.5791e+03  1e+04  2e+00  7e+02  1e+00\n",
      " 1:  1.9797e+02  5.1795e+02  8e+02  3e-01  9e+01  1e+00\n",
      " 2:  1.3596e+02  3.0249e+02  4e+02  1e-01  4e+01  7e-01\n",
      " 3:  9.9290e+01  2.1197e+02  3e+02  9e-02  3e+01  5e-01\n",
      " 4:  7.5617e+01  1.6047e+02  3e+02  7e-02  2e+01  3e-01\n",
      " 5:  5.2552e+01  1.1062e+02  2e+02  5e-02  2e+01  2e-01\n",
      " 6:  3.5465e+01  7.4426e+01  1e+02  3e-02  1e+01  1e-01\n",
      " 7:  2.3748e+01  4.9767e+01  1e+02  2e-02  7e+00  9e-02\n",
      " 8:  1.6508e+01  3.4276e+01  7e+01  1e-02  5e+00  6e-02\n",
      " 9:  1.3004e+01  2.6784e+01  6e+01  1e-02  4e+00  4e-02\n",
      "10:  1.0697e+01  2.2170e+01  5e+01  9e-03  3e+00  3e-02\n",
      "11:  7.2064e+00  1.4913e+01  3e+01  6e-03  2e+00  2e-02\n",
      "12:  3.9503e+00  8.3537e+00  2e+01  4e-03  1e+00  7e-03\n",
      "13:  9.4087e-01  1.9626e+00  4e+00  8e-04  3e-01  2e-03\n",
      "14:  3.3132e-02  6.9304e-02  2e-01  3e-05  1e-02  6e-05\n",
      "15:  3.3239e-04  6.9530e-04  2e-03  3e-07  1e-04  6e-07\n",
      "16:  3.3239e-06  6.9530e-06  2e-05  3e-09  1e-06  6e-09\n",
      "17:  3.3239e-08  6.9530e-08  2e-07  3e-11  1e-08  6e-11\n",
      "18:  3.3239e-10  6.9530e-10  2e-09  3e-13  1e-10  6e-13\n",
      "Optimal solution found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-1.00560681e+00]\n",
      " [ 9.07845469e-04]\n",
      " [-4.00298060e-01]]\n"
     ]
    }
   ],
   "source": [
    "#特征转换之前，算法2，sep=5\n",
    "w = algorithm2(X_treat, y)\n",
    "\n",
    "#作图\n",
    "draw(w, X, y, r, sep, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#特征转换之前，算法1，sep=-5\n",
    "#产生数据\n",
    "sep = -5\n",
    "X, y = generatedata(rad, thk, sep, N)\n",
    "\n",
    "#作图\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0:  2.2218e-02  2.0028e+03  4e+03  2e+00  9e+03  1e+00\n",
      " 1:  2.2339e+00  1.2432e+05  3e+07  2e+02  6e+05  3e+02\n",
      " 2:  7.3701e-02  1.8557e+03  4e+03  2e+00  8e+03  3e+02\n",
      " 3:  2.0417e-01  2.4070e+03  7e+03  2e+00  9e+03  4e+02\n",
      " 4:  7.1916e-01  4.0230e+03  2e+04  3e+00  1e+04  1e+03\n",
      " 5:  5.3163e-01  6.6893e+03  2e+04  3e+00  1e+04  4e+03\n",
      " 6:  2.9192e+00  6.3212e+04  4e+05  6e+00  2e+04  6e+04\n",
      " 7:  8.1265e+00  9.0759e+05  2e+07  2e+01  7e+04  9e+05\n",
      " 8:  6.7251e+00  8.0081e+07  1e+09  2e+01  6e+04  8e+07\n",
      " 9:  6.7249e+00  8.0102e+09  1e+11  2e+01  6e+04  8e+09\n",
      "10:  6.7249e+00  8.0102e+11  1e+13  2e+01  6e+04  8e+11\n",
      "Certificate of primal infeasibility found.\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "#对数据预处理，加上偏置项项1\n",
    "X_treat = np.c_[np.ones(N), X]\n",
    "#特征转换之前，算法1，sep=-5\n",
    "w = algorithm1(X_treat, y)\n",
    "print(w)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0:  3.0298e+02  2.7809e+03  1e+04  2e+00  4e+02  1e+00\n",
      " 1:  5.3727e+02  8.2250e+02  8e+02  3e-01  5e+01  1e+00\n",
      " 2:  4.8467e+02  5.9987e+02  3e+02  1e-01  2e+01  5e-01\n",
      " 3:  4.6161e+02  5.3100e+02  2e+02  7e-02  1e+01  3e-01\n",
      " 4:  4.4800e+02  4.9298e+02  1e+02  4e-02  8e+00  2e-01\n",
      " 5:  4.4041e+02  4.7257e+02  1e+02  3e-02  6e+00  1e-01\n",
      " 6:  4.3394e+02  4.5582e+02  7e+01  2e-02  4e+00  8e-02\n",
      " 7:  4.2927e+02  4.4233e+02  4e+01  1e-02  2e+00  5e-02\n",
      " 8:  4.2617e+02  4.3349e+02  2e+01  7e-03  1e+00  2e-02\n",
      " 9:  4.2363e+02  4.2547e+02  6e+00  2e-03  3e-01  5e-03\n",
      "10:  4.2296e+02  4.2315e+02  6e-01  2e-04  3e-02  4e-04\n",
      "11:  4.2290e+02  4.2293e+02  1e-01  3e-05  5e-03  5e-05\n",
      "12:  4.2290e+02  4.2290e+02  6e-03  2e-06  3e-04  2e-06\n",
      "13:  4.2289e+02  4.2289e+02  6e-05  2e-08  3e-06  2e-08\n",
      "14:  4.2289e+02  4.2289e+02  6e-07  2e-10  3e-08  2e-10\n",
      "Optimal solution found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.41995301]\n",
      " [ 0.07046898]\n",
      " [-0.39616017]]\n"
     ]
    }
   ],
   "source": [
    "#特征转换之前，算法2，sep=-5\n",
    "w = algorithm2(X_treat, y)\n",
    "draw(w, X, y, r, sep, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0: -2.7711e-01  2.0089e+03  3e+03  2e+00  2e+06  1e+00\n",
      " 1: -2.8008e+01  6.6060e+04  1e+07  5e+01  8e+07  2e+02\n",
      " 2: -3.2633e+00  1.5585e+03  2e+04  1e+00  2e+06  3e+01\n",
      " 3: -5.0177e+00  3.1880e+01  5e+02  2e-02  4e+04  5e+00\n",
      " 4: -5.0013e+02  4.6113e+01  8e+04  3e-02  5e+04  5e+02\n",
      " 5: -5.0009e+04  4.6117e+01  8e+06  3e-02  5e+04  5e+04\n",
      " 6: -5.0009e+06  4.6117e+01  8e+08  3e-02  5e+04  5e+06\n",
      " 7: -5.0009e+08  4.6117e+01  8e+10  3e-02  5e+04  5e+08\n",
      "Certificate of dual infeasibility found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-0.38801653]\n",
      " [-0.10456339]\n",
      " [-0.49068494]\n",
      " [-0.01315069]\n",
      " [-0.01079015]\n",
      " [ 0.00215561]\n",
      " [ 0.0008916 ]\n",
      " [ 0.00141072]\n",
      " [ 0.00135302]\n",
      " [ 0.00139477]]\n"
     ]
    }
   ],
   "source": [
    "# =============================================================================\n",
    "# 特征转换后\n",
    "# =============================================================================\n",
    "#特征转换器\n",
    "poly = PolynomialFeatures(3)\n",
    "\n",
    "#特征转换后，算法1，sep=-5\n",
    "#特征转换\n",
    "sep = 5\n",
    "X, y = generatedata(rad, thk, sep, N)\n",
    "X_poly = poly.fit_transform(X)\n",
    "w_poly = algorithm1(X_poly, y)\n",
    "\n",
    "#数据数目\n",
    "n = 2000\n",
    "\n",
    "#定义a, b\n",
    "a = np.linspace(-r, r, n)\n",
    "b = np.linspace(-r, r, n)\n",
    "\n",
    "#生成网格数据\n",
    "A, B = np.meshgrid(a, b)\n",
    "\n",
    "plt.contour(A, B, f(A, B, w_poly), 1, colors = 'red')\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.title('featuretransform,sep=-5,algorithm1')\n",
    "plt.show()\n",
    "print(w_poly)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0:  2.1379e+01  2.3928e+03  9e+03  2e+00  2e+05  1e+00\n",
      " 1:  2.7809e+01  3.7029e+02  7e+02  3e-01  3e+04  1e+00\n",
      " 2:  7.7869e+00  9.4679e+01  2e+02  7e-02  7e+03  3e-01\n",
      " 3:  3.1033e+00  3.9528e+01  7e+01  3e-02  3e+03  1e-01\n",
      " 4:  8.7507e-01  1.1856e+01  2e+01  8e-03  9e+02  3e-02\n",
      " 5:  1.6994e-02  2.4297e-01  4e-01  2e-04  2e+01  6e-04\n",
      " 6:  1.6994e-04  2.4297e-03  4e-03  2e-06  2e-01  6e-06\n",
      " 7:  1.6994e-06  2.4297e-05  4e-05  2e-08  2e-03  6e-08\n",
      " 8:  1.6994e-08  2.4297e-07  4e-07  2e-10  2e-05  6e-10\n",
      " 9:  1.6994e-10  2.4297e-09  4e-09  2e-12  2e-07  6e-12\n",
      "10:  1.6994e-12  2.4297e-11  4e-11  2e-14  2e-09  6e-14\n",
      "Optimal solution found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-0.1031254 ]\n",
      " [-0.06486644]\n",
      " [-0.26691285]\n",
      " [-0.00908673]\n",
      " [-0.00820201]\n",
      " [ 0.0002677 ]\n",
      " [ 0.00061716]\n",
      " [ 0.00101891]\n",
      " [ 0.00091668]\n",
      " [ 0.00080585]]\n"
     ]
    }
   ],
   "source": [
    "#特征转换后，算法2，sep=-5\n",
    "#根据之前所述构造矩阵\n",
    "w_poly = algorithm2(X_poly, y)\n",
    "\n",
    "plt.contour(A, B, f(A, B, w_poly), 1, colors = 'red')\n",
    "plt.scatter(X[y>0][:, 0], X[y>0][:, 1], s=1)\n",
    "plt.scatter(X[y<0][:, 0], X[y<0][:, 1], s=1)\n",
    "plt.title('featuretransform,sep=-5,algorithm2')\n",
    "plt.show()\n",
    "print(w_poly)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.13 (Page 113)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pylab as plt\n",
    "from numpy.linalg import inv\n",
    "from cvxopt import matrix, solvers\n",
    "\n",
    "#(c)\n",
    "def generate(n, delta):\n",
    "    X = np.random.uniform(size=n)\n",
    "    epsilon = np.random.normal(size=n)\n",
    "    y = X * X + delta * epsilon\n",
    "    data = np.c_[X, y]\n",
    "    return X, y, data\n",
    "\n",
    "#参数\n",
    "n = 50\n",
    "delta = 0.1\n",
    "\n",
    "#生成数据\n",
    "X, y, data = generate(n, delta)\n",
    "\n",
    "#构造D1,D2\n",
    "a = np.array([0, 0.1])\n",
    "D1 = data + a\n",
    "D2 = data - a\n",
    "\n",
    "plt.scatter(D1[:, 0], D1[:, 1], label='+a')\n",
    "plt.scatter(D2[:, 0], D2[:, 1], label='-a')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#(d)\n",
    "#线性回归\n",
    "#添加偏置项\n",
    "X_treat = np.c_[np.ones(n), X]\n",
    "w1 = inv(X_treat.T.dot(X_treat)).dot(X_treat.T).dot(y)\n",
    "\n",
    "a = np.array([0, 1])\n",
    "b = w1[0] + w1[1] * a\n",
    "\n",
    "plt.scatter(X, y)\n",
    "plt.plot(a, b, 'r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres   k/t\n",
      " 0:  2.8977e+01  1.7327e+02  8e+02  3e+00  3e+00  1e+00\n",
      " 1:  4.3790e+01  7.3604e+01  8e+01  6e-01  6e-01  2e+00\n",
      " 2:  4.4900e+01  5.2456e+01  2e+01  1e-01  2e-01  5e-01\n",
      " 3:  4.5044e+01  4.7512e+01  6e+00  5e-02  5e-02  1e-01\n",
      " 4:  4.5199e+01  4.5777e+01  1e+00  1e-02  1e-02  3e-02\n",
      " 5:  4.5226e+01  4.5356e+01  3e-01  2e-03  3e-03  4e-03\n",
      " 6:  4.5233e+01  4.5261e+01  7e-02  5e-04  6e-04  8e-04\n",
      " 7:  4.5235e+01  4.5235e+01  8e-04  6e-06  7e-06  8e-06\n",
      " 8:  4.5235e+01  4.5235e+01  8e-06  6e-08  7e-08  8e-08\n",
      "Optimal solution found.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用此题介绍的分类方法\n",
    "#Problem 3.5的算法2\n",
    "def algorithm2(X, y):\n",
    "    \"\"\"\n",
    "    算法2\n",
    "    \"\"\"\n",
    "    N, d = X.shape\n",
    "    A1 = X * y.reshape(-1, 1)\n",
    "    A2 = np.c_[A1, (-1) * np.eye(N)]\n",
    "    A3 = np.c_[np.zeros((N, d)), (-1) * np.eye(N)]\n",
    "    \n",
    "    A = np.r_[A2, A3]\n",
    "    c = np.array([0.0] * d + [1.0] * N)\n",
    "    b = np.array([-1.0] * N + [0.0]  * N)\n",
    "    \n",
    "    #带入算法求解\n",
    "    c = matrix(c)\n",
    "    A = matrix(A)\n",
    "    b = matrix(b)\n",
    "    \n",
    "    sol = solvers.lp(c, A, b)\n",
    "    \n",
    "    #返回向量\n",
    "    w = np.array((sol['x']))[:d]\n",
    "    \n",
    "    return w\n",
    "\n",
    "#构造数据\n",
    "X1 = np.r_[D1, D2]\n",
    "X1 = np.c_[np.ones(2 * n), X1]\n",
    "y1 = np.r_[np.ones(n), -1 * np.ones(n)]\n",
    "    \n",
    "#算法2\n",
    "w2 = algorithm2(X1, y1)\n",
    "#处理后的w\n",
    "w_2 = - w2[:-1] / w2[-1]\n",
    "a2 = np.array([0, 1])\n",
    "b2 = w_2[0] + w_2[1] * a2\n",
    "plt.scatter(X, y)\n",
    "plt.plot(a2, b2, 'r')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Problem 3.17 (Page 115)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.2508597349929693\n",
      "[1.87339277]\n",
      "[[0.4472136]\n",
      " [0.2236068]]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from numpy.linalg import inv\n",
    "\n",
    "#(b)\n",
    "def E(u,v):\n",
    "    return np.exp(u) + np.exp(2 * v) + np.exp(u * v) + u * u - 3 * u * v + 4 * v * v - 3 * u - 5 * v\n",
    "\n",
    "u = 1 / np.sqrt(13)\n",
    "v = 3 / (2 * np.sqrt(13))\n",
    "print(E(u,v))\n",
    "\n",
    "#(c)\n",
    "m1 = np.array([[3, -2], [-2, 10]])\n",
    "m2 = np.array([[2], [3]])\n",
    "d = inv(m1).dot(m2)\n",
    "\n",
    "l = np.sqrt((d * d).sum())\n",
    "d1 = 0.5 * d / l\n",
    "\n",
    "u = d1[0]\n",
    "v = d1[1]\n",
    "\n",
    "print(E(u, v))\n",
    "print(d1)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
